package com.whitedust.top80;

import java.util.*;

/**
 *
 * @author A
 * @since 2025/11/15 23:29
 */

public class Top71 {
    public int longestConsecutive(int[] nums) {
        Set<Integer> set = new HashSet<>();
        //先做去重，防止多次判断同一个数
        for (int num : nums) {
            set.add(num);
        }
        int res = 0;
        for (int num : set) {
            //如果该树不是最长连续整数的头则跳过，因为头会遍历到这个情况
            if (set.contains(num - 1)) continue;
            int longest = 0;
            //当该树是序列头的时候，依次遍历set找到最长串
            while (set.contains(num)) {
                longest++;
                num++;
            }
            res = Math.max(longest, res);
        }
        return res;
    }
}
